package org.hzero.business.workflow.mapper;

import org.apache.ibatis.annotations.Param;
import org.hzero.business.workflow.dto.KnifeWorkflowVar;

import java.util.List;

/**
 * @ClassName: WorkflowMapper
 * @Description: 工作流mapper
 * @author: tianhao.luo@hand-china.com
 * @date: 2020/10/22  17:52
 */
public interface KnifeWorkflowMapper {

    /**
     * 查出是否有审批记录了
     * @param businessKey 业务主键
     * @return 审批记录id
     */
    List<Long> selectActHiCommentId(@Param("businessKey") String businessKey);

    /**
     * 用来获取事务处理类型的工作流，及其流程变量
     * @param processKey 流程定义key
     * @param required 必填
     * @return 所属流程分类的流程变量
     */
    List<KnifeWorkflowVar> listCategoryVariableById(@Param("processKey") String processKey, @Param("required") Integer required);

    /**
     * 用来获取事务处理类型的工作流，及其流程变量
     * @param processKey 流程定义key
     * @param required 必填
     * @return 所属流程单据的流程变量
     */
    List<KnifeWorkflowVar> listDocumentVariableById(@Param("processKey") String processKey, @Param("required") Integer required);


    /**
     * 列出流程表单中url
     * @param processKey 流程定义
     * @return 流程表单
     */
    List<String> listFormUrlByProcessKey(@Param("processKey") String processKey);
}
